<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /* 后面两种伪元素清除浮动算是第一种额外标签法的一个升级和优化。 */
        .clearfix::before,
        .clearfix::after {
            content: "";
            display: table;
            /*将伪元素变为块元素并再一行显示*/
        }

        .clearfix:after {
            clear: both;
        }




        .clearfix:after {
            /* 伪元素必须写的属性 */
            content: "";
            /* <——插入的元素必须是块级 */
            display: block;
            /* <——不要看见这个元素 */
            height: 0;
            /*核心清除浮动的代码*/
            clear: both;
            /* <—不要看见这个元素 */
            visibility: hidden;
        }
    </style>
</head>

<body>

</body>

</html>